package biz.datalk.industrialland.common.log.pojo.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SysLogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SysLogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andLogTypeIsNull() {
            addCriterion("log_type is null");
            return (Criteria) this;
        }

        public Criteria andLogTypeIsNotNull() {
            addCriterion("log_type is not null");
            return (Criteria) this;
        }

        public Criteria andLogTypeEqualTo(Integer value) {
            addCriterion("log_type =", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeNotEqualTo(Integer value) {
            addCriterion("log_type <>", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeGreaterThan(Integer value) {
            addCriterion("log_type >", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("log_type >=", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeLessThan(Integer value) {
            addCriterion("log_type <", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeLessThanOrEqualTo(Integer value) {
            addCriterion("log_type <=", value, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeIn(List<Integer> values) {
            addCriterion("log_type in", values, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeNotIn(List<Integer> values) {
            addCriterion("log_type not in", values, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeBetween(Integer value1, Integer value2) {
            addCriterion("log_type between", value1, value2, "logType");
            return (Criteria) this;
        }

        public Criteria andLogTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("log_type not between", value1, value2, "logType");
            return (Criteria) this;
        }

        public Criteria andOptUserIdIsNull() {
            addCriterion("opt_user_id is null");
            return (Criteria) this;
        }

        public Criteria andOptUserIdIsNotNull() {
            addCriterion("opt_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andOptUserIdEqualTo(Long value) {
            addCriterion("opt_user_id =", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdNotEqualTo(Long value) {
            addCriterion("opt_user_id <>", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdGreaterThan(Long value) {
            addCriterion("opt_user_id >", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("opt_user_id >=", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdLessThan(Long value) {
            addCriterion("opt_user_id <", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdLessThanOrEqualTo(Long value) {
            addCriterion("opt_user_id <=", value, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdIn(List<Long> values) {
            addCriterion("opt_user_id in", values, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdNotIn(List<Long> values) {
            addCriterion("opt_user_id not in", values, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdBetween(Long value1, Long value2) {
            addCriterion("opt_user_id between", value1, value2, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUserIdNotBetween(Long value1, Long value2) {
            addCriterion("opt_user_id not between", value1, value2, "optUserId");
            return (Criteria) this;
        }

        public Criteria andOptUsernameIsNull() {
            addCriterion("opt_username is null");
            return (Criteria) this;
        }

        public Criteria andOptUsernameIsNotNull() {
            addCriterion("opt_username is not null");
            return (Criteria) this;
        }

        public Criteria andOptUsernameEqualTo(String value) {
            addCriterion("opt_username =", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameNotEqualTo(String value) {
            addCriterion("opt_username <>", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameGreaterThan(String value) {
            addCriterion("opt_username >", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("opt_username >=", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameLessThan(String value) {
            addCriterion("opt_username <", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameLessThanOrEqualTo(String value) {
            addCriterion("opt_username <=", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameLike(String value) {
            addCriterion("opt_username like", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameNotLike(String value) {
            addCriterion("opt_username not like", value, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameIn(List<String> values) {
            addCriterion("opt_username in", values, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameNotIn(List<String> values) {
            addCriterion("opt_username not in", values, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameBetween(String value1, String value2) {
            addCriterion("opt_username between", value1, value2, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptUsernameNotBetween(String value1, String value2) {
            addCriterion("opt_username not between", value1, value2, "optUsername");
            return (Criteria) this;
        }

        public Criteria andOptIpIsNull() {
            addCriterion("opt_ip is null");
            return (Criteria) this;
        }

        public Criteria andOptIpIsNotNull() {
            addCriterion("opt_ip is not null");
            return (Criteria) this;
        }

        public Criteria andOptIpEqualTo(String value) {
            addCriterion("opt_ip =", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpNotEqualTo(String value) {
            addCriterion("opt_ip <>", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpGreaterThan(String value) {
            addCriterion("opt_ip >", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpGreaterThanOrEqualTo(String value) {
            addCriterion("opt_ip >=", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpLessThan(String value) {
            addCriterion("opt_ip <", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpLessThanOrEqualTo(String value) {
            addCriterion("opt_ip <=", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpLike(String value) {
            addCriterion("opt_ip like", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpNotLike(String value) {
            addCriterion("opt_ip not like", value, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpIn(List<String> values) {
            addCriterion("opt_ip in", values, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpNotIn(List<String> values) {
            addCriterion("opt_ip not in", values, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpBetween(String value1, String value2) {
            addCriterion("opt_ip between", value1, value2, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptIpNotBetween(String value1, String value2) {
            addCriterion("opt_ip not between", value1, value2, "optIp");
            return (Criteria) this;
        }

        public Criteria andOptTimeIsNull() {
            addCriterion("opt_time is null");
            return (Criteria) this;
        }

        public Criteria andOptTimeIsNotNull() {
            addCriterion("opt_time is not null");
            return (Criteria) this;
        }

        public Criteria andOptTimeEqualTo(String value) {
            addCriterion("opt_time =", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeNotEqualTo(String value) {
            addCriterion("opt_time <>", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeGreaterThan(String value) {
            addCriterion("opt_time >", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_time >=", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeLessThan(String value) {
            addCriterion("opt_time <", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeLessThanOrEqualTo(String value) {
            addCriterion("opt_time <=", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeLike(String value) {
            addCriterion("opt_time like", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeNotLike(String value) {
            addCriterion("opt_time not like", value, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeIn(List<String> values) {
            addCriterion("opt_time in", values, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeNotIn(List<String> values) {
            addCriterion("opt_time not in", values, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeBetween(String value1, String value2) {
            addCriterion("opt_time between", value1, value2, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptTimeNotBetween(String value1, String value2) {
            addCriterion("opt_time not between", value1, value2, "optTime");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeIsNull() {
            addCriterion("opt_module_code is null");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeIsNotNull() {
            addCriterion("opt_module_code is not null");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeEqualTo(String value) {
            addCriterion("opt_module_code =", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeNotEqualTo(String value) {
            addCriterion("opt_module_code <>", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeGreaterThan(String value) {
            addCriterion("opt_module_code >", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_module_code >=", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeLessThan(String value) {
            addCriterion("opt_module_code <", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeLessThanOrEqualTo(String value) {
            addCriterion("opt_module_code <=", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeLike(String value) {
            addCriterion("opt_module_code like", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeNotLike(String value) {
            addCriterion("opt_module_code not like", value, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeIn(List<String> values) {
            addCriterion("opt_module_code in", values, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeNotIn(List<String> values) {
            addCriterion("opt_module_code not in", values, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeBetween(String value1, String value2) {
            addCriterion("opt_module_code between", value1, value2, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleCodeNotBetween(String value1, String value2) {
            addCriterion("opt_module_code not between", value1, value2, "optModuleCode");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameIsNull() {
            addCriterion("opt_module_name is null");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameIsNotNull() {
            addCriterion("opt_module_name is not null");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameEqualTo(String value) {
            addCriterion("opt_module_name =", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameNotEqualTo(String value) {
            addCriterion("opt_module_name <>", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameGreaterThan(String value) {
            addCriterion("opt_module_name >", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameGreaterThanOrEqualTo(String value) {
            addCriterion("opt_module_name >=", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameLessThan(String value) {
            addCriterion("opt_module_name <", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameLessThanOrEqualTo(String value) {
            addCriterion("opt_module_name <=", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameLike(String value) {
            addCriterion("opt_module_name like", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameNotLike(String value) {
            addCriterion("opt_module_name not like", value, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameIn(List<String> values) {
            addCriterion("opt_module_name in", values, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameNotIn(List<String> values) {
            addCriterion("opt_module_name not in", values, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameBetween(String value1, String value2) {
            addCriterion("opt_module_name between", value1, value2, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptModuleNameNotBetween(String value1, String value2) {
            addCriterion("opt_module_name not between", value1, value2, "optModuleName");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeIsNull() {
            addCriterion("opt_type_code is null");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeIsNotNull() {
            addCriterion("opt_type_code is not null");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeEqualTo(String value) {
            addCriterion("opt_type_code =", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeNotEqualTo(String value) {
            addCriterion("opt_type_code <>", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeGreaterThan(String value) {
            addCriterion("opt_type_code >", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_type_code >=", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeLessThan(String value) {
            addCriterion("opt_type_code <", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeLessThanOrEqualTo(String value) {
            addCriterion("opt_type_code <=", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeLike(String value) {
            addCriterion("opt_type_code like", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeNotLike(String value) {
            addCriterion("opt_type_code not like", value, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeIn(List<String> values) {
            addCriterion("opt_type_code in", values, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeNotIn(List<String> values) {
            addCriterion("opt_type_code not in", values, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeBetween(String value1, String value2) {
            addCriterion("opt_type_code between", value1, value2, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeCodeNotBetween(String value1, String value2) {
            addCriterion("opt_type_code not between", value1, value2, "optTypeCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameIsNull() {
            addCriterion("opt_type_name is null");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameIsNotNull() {
            addCriterion("opt_type_name is not null");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameEqualTo(String value) {
            addCriterion("opt_type_name =", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameNotEqualTo(String value) {
            addCriterion("opt_type_name <>", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameGreaterThan(String value) {
            addCriterion("opt_type_name >", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameGreaterThanOrEqualTo(String value) {
            addCriterion("opt_type_name >=", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameLessThan(String value) {
            addCriterion("opt_type_name <", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameLessThanOrEqualTo(String value) {
            addCriterion("opt_type_name <=", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameLike(String value) {
            addCriterion("opt_type_name like", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameNotLike(String value) {
            addCriterion("opt_type_name not like", value, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameIn(List<String> values) {
            addCriterion("opt_type_name in", values, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameNotIn(List<String> values) {
            addCriterion("opt_type_name not in", values, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameBetween(String value1, String value2) {
            addCriterion("opt_type_name between", value1, value2, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptTypeNameNotBetween(String value1, String value2) {
            addCriterion("opt_type_name not between", value1, value2, "optTypeName");
            return (Criteria) this;
        }

        public Criteria andOptCodeIsNull() {
            addCriterion("opt_code is null");
            return (Criteria) this;
        }

        public Criteria andOptCodeIsNotNull() {
            addCriterion("opt_code is not null");
            return (Criteria) this;
        }

        public Criteria andOptCodeEqualTo(String value) {
            addCriterion("opt_code =", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotEqualTo(String value) {
            addCriterion("opt_code <>", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeGreaterThan(String value) {
            addCriterion("opt_code >", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_code >=", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLessThan(String value) {
            addCriterion("opt_code <", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLessThanOrEqualTo(String value) {
            addCriterion("opt_code <=", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLike(String value) {
            addCriterion("opt_code like", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotLike(String value) {
            addCriterion("opt_code not like", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeIn(List<String> values) {
            addCriterion("opt_code in", values, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotIn(List<String> values) {
            addCriterion("opt_code not in", values, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeBetween(String value1, String value2) {
            addCriterion("opt_code between", value1, value2, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotBetween(String value1, String value2) {
            addCriterion("opt_code not between", value1, value2, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptNameIsNull() {
            addCriterion("opt_name is null");
            return (Criteria) this;
        }

        public Criteria andOptNameIsNotNull() {
            addCriterion("opt_name is not null");
            return (Criteria) this;
        }

        public Criteria andOptNameEqualTo(String value) {
            addCriterion("opt_name =", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameNotEqualTo(String value) {
            addCriterion("opt_name <>", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameGreaterThan(String value) {
            addCriterion("opt_name >", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameGreaterThanOrEqualTo(String value) {
            addCriterion("opt_name >=", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameLessThan(String value) {
            addCriterion("opt_name <", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameLessThanOrEqualTo(String value) {
            addCriterion("opt_name <=", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameLike(String value) {
            addCriterion("opt_name like", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameNotLike(String value) {
            addCriterion("opt_name not like", value, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameIn(List<String> values) {
            addCriterion("opt_name in", values, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameNotIn(List<String> values) {
            addCriterion("opt_name not in", values, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameBetween(String value1, String value2) {
            addCriterion("opt_name between", value1, value2, "optName");
            return (Criteria) this;
        }

        public Criteria andOptNameNotBetween(String value1, String value2) {
            addCriterion("opt_name not between", value1, value2, "optName");
            return (Criteria) this;
        }

        public Criteria andOptResultIsNull() {
            addCriterion("opt_result is null");
            return (Criteria) this;
        }

        public Criteria andOptResultIsNotNull() {
            addCriterion("opt_result is not null");
            return (Criteria) this;
        }

        public Criteria andOptResultEqualTo(String value) {
            addCriterion("opt_result =", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultNotEqualTo(String value) {
            addCriterion("opt_result <>", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultGreaterThan(String value) {
            addCriterion("opt_result >", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultGreaterThanOrEqualTo(String value) {
            addCriterion("opt_result >=", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultLessThan(String value) {
            addCriterion("opt_result <", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultLessThanOrEqualTo(String value) {
            addCriterion("opt_result <=", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultLike(String value) {
            addCriterion("opt_result like", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultNotLike(String value) {
            addCriterion("opt_result not like", value, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultIn(List<String> values) {
            addCriterion("opt_result in", values, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultNotIn(List<String> values) {
            addCriterion("opt_result not in", values, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultBetween(String value1, String value2) {
            addCriterion("opt_result between", value1, value2, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptResultNotBetween(String value1, String value2) {
            addCriterion("opt_result not between", value1, value2, "optResult");
            return (Criteria) this;
        }

        public Criteria andOptServerIpIsNull() {
            addCriterion("opt_server_ip is null");
            return (Criteria) this;
        }

        public Criteria andOptServerIpIsNotNull() {
            addCriterion("opt_server_ip is not null");
            return (Criteria) this;
        }

        public Criteria andOptServerIpEqualTo(String value) {
            addCriterion("opt_server_ip =", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpNotEqualTo(String value) {
            addCriterion("opt_server_ip <>", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpGreaterThan(String value) {
            addCriterion("opt_server_ip >", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpGreaterThanOrEqualTo(String value) {
            addCriterion("opt_server_ip >=", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpLessThan(String value) {
            addCriterion("opt_server_ip <", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpLessThanOrEqualTo(String value) {
            addCriterion("opt_server_ip <=", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpLike(String value) {
            addCriterion("opt_server_ip like", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpNotLike(String value) {
            addCriterion("opt_server_ip not like", value, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpIn(List<String> values) {
            addCriterion("opt_server_ip in", values, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpNotIn(List<String> values) {
            addCriterion("opt_server_ip not in", values, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpBetween(String value1, String value2) {
            addCriterion("opt_server_ip between", value1, value2, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andOptServerIpNotBetween(String value1, String value2) {
            addCriterion("opt_server_ip not between", value1, value2, "optServerIp");
            return (Criteria) this;
        }

        public Criteria andClientTypeIsNull() {
            addCriterion("client_type is null");
            return (Criteria) this;
        }

        public Criteria andClientTypeIsNotNull() {
            addCriterion("client_type is not null");
            return (Criteria) this;
        }

        public Criteria andClientTypeEqualTo(String value) {
            addCriterion("client_type =", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeNotEqualTo(String value) {
            addCriterion("client_type <>", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeGreaterThan(String value) {
            addCriterion("client_type >", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeGreaterThanOrEqualTo(String value) {
            addCriterion("client_type >=", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeLessThan(String value) {
            addCriterion("client_type <", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeLessThanOrEqualTo(String value) {
            addCriterion("client_type <=", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeLike(String value) {
            addCriterion("client_type like", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeNotLike(String value) {
            addCriterion("client_type not like", value, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeIn(List<String> values) {
            addCriterion("client_type in", values, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeNotIn(List<String> values) {
            addCriterion("client_type not in", values, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeBetween(String value1, String value2) {
            addCriterion("client_type between", value1, value2, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientTypeNotBetween(String value1, String value2) {
            addCriterion("client_type not between", value1, value2, "clientType");
            return (Criteria) this;
        }

        public Criteria andClientVerIsNull() {
            addCriterion("client_ver is null");
            return (Criteria) this;
        }

        public Criteria andClientVerIsNotNull() {
            addCriterion("client_ver is not null");
            return (Criteria) this;
        }

        public Criteria andClientVerEqualTo(String value) {
            addCriterion("client_ver =", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerNotEqualTo(String value) {
            addCriterion("client_ver <>", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerGreaterThan(String value) {
            addCriterion("client_ver >", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerGreaterThanOrEqualTo(String value) {
            addCriterion("client_ver >=", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerLessThan(String value) {
            addCriterion("client_ver <", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerLessThanOrEqualTo(String value) {
            addCriterion("client_ver <=", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerLike(String value) {
            addCriterion("client_ver like", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerNotLike(String value) {
            addCriterion("client_ver not like", value, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerIn(List<String> values) {
            addCriterion("client_ver in", values, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerNotIn(List<String> values) {
            addCriterion("client_ver not in", values, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerBetween(String value1, String value2) {
            addCriterion("client_ver between", value1, value2, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientVerNotBetween(String value1, String value2) {
            addCriterion("client_ver not between", value1, value2, "clientVer");
            return (Criteria) this;
        }

        public Criteria andClientIdIsNull() {
            addCriterion("client_id is null");
            return (Criteria) this;
        }

        public Criteria andClientIdIsNotNull() {
            addCriterion("client_id is not null");
            return (Criteria) this;
        }

        public Criteria andClientIdEqualTo(String value) {
            addCriterion("client_id =", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotEqualTo(String value) {
            addCriterion("client_id <>", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdGreaterThan(String value) {
            addCriterion("client_id >", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdGreaterThanOrEqualTo(String value) {
            addCriterion("client_id >=", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdLessThan(String value) {
            addCriterion("client_id <", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdLessThanOrEqualTo(String value) {
            addCriterion("client_id <=", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdLike(String value) {
            addCriterion("client_id like", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotLike(String value) {
            addCriterion("client_id not like", value, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdIn(List<String> values) {
            addCriterion("client_id in", values, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotIn(List<String> values) {
            addCriterion("client_id not in", values, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdBetween(String value1, String value2) {
            addCriterion("client_id between", value1, value2, "clientId");
            return (Criteria) this;
        }

        public Criteria andClientIdNotBetween(String value1, String value2) {
            addCriterion("client_id not between", value1, value2, "clientId");
            return (Criteria) this;
        }

        public Criteria andLogContentIsNull() {
            addCriterion("log_content is null");
            return (Criteria) this;
        }

        public Criteria andLogContentIsNotNull() {
            addCriterion("log_content is not null");
            return (Criteria) this;
        }

        public Criteria andLogContentEqualTo(String value) {
            addCriterion("log_content =", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentNotEqualTo(String value) {
            addCriterion("log_content <>", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentGreaterThan(String value) {
            addCriterion("log_content >", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentGreaterThanOrEqualTo(String value) {
            addCriterion("log_content >=", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentLessThan(String value) {
            addCriterion("log_content <", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentLessThanOrEqualTo(String value) {
            addCriterion("log_content <=", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentLike(String value) {
            addCriterion("log_content like", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentNotLike(String value) {
            addCriterion("log_content not like", value, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentIn(List<String> values) {
            addCriterion("log_content in", values, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentNotIn(List<String> values) {
            addCriterion("log_content not in", values, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentBetween(String value1, String value2) {
            addCriterion("log_content between", value1, value2, "logContent");
            return (Criteria) this;
        }

        public Criteria andLogContentNotBetween(String value1, String value2) {
            addCriterion("log_content not between", value1, value2, "logContent");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondIsNull() {
            addCriterion("cost_millisecond is null");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondIsNotNull() {
            addCriterion("cost_millisecond is not null");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondEqualTo(Long value) {
            addCriterion("cost_millisecond =", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondNotEqualTo(Long value) {
            addCriterion("cost_millisecond <>", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondGreaterThan(Long value) {
            addCriterion("cost_millisecond >", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondGreaterThanOrEqualTo(Long value) {
            addCriterion("cost_millisecond >=", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondLessThan(Long value) {
            addCriterion("cost_millisecond <", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondLessThanOrEqualTo(Long value) {
            addCriterion("cost_millisecond <=", value, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondIn(List<Long> values) {
            addCriterion("cost_millisecond in", values, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondNotIn(List<Long> values) {
            addCriterion("cost_millisecond not in", values, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondBetween(Long value1, Long value2) {
            addCriterion("cost_millisecond between", value1, value2, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andCostMillisecondNotBetween(Long value1, Long value2) {
            addCriterion("cost_millisecond not between", value1, value2, "costMillisecond");
            return (Criteria) this;
        }

        public Criteria andAppKeyIsNull() {
            addCriterion("app_key is null");
            return (Criteria) this;
        }

        public Criteria andAppKeyIsNotNull() {
            addCriterion("app_key is not null");
            return (Criteria) this;
        }

        public Criteria andAppKeyEqualTo(String value) {
            addCriterion("app_key =", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyNotEqualTo(String value) {
            addCriterion("app_key <>", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyGreaterThan(String value) {
            addCriterion("app_key >", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyGreaterThanOrEqualTo(String value) {
            addCriterion("app_key >=", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyLessThan(String value) {
            addCriterion("app_key <", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyLessThanOrEqualTo(String value) {
            addCriterion("app_key <=", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyLike(String value) {
            addCriterion("app_key like", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyNotLike(String value) {
            addCriterion("app_key not like", value, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyIn(List<String> values) {
            addCriterion("app_key in", values, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyNotIn(List<String> values) {
            addCriterion("app_key not in", values, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyBetween(String value1, String value2) {
            addCriterion("app_key between", value1, value2, "appKey");
            return (Criteria) this;
        }

        public Criteria andAppKeyNotBetween(String value1, String value2) {
            addCriterion("app_key not between", value1, value2, "appKey");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIsNull() {
            addCriterion("access_token is null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIsNotNull() {
            addCriterion("access_token is not null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenEqualTo(String value) {
            addCriterion("access_token =", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotEqualTo(String value) {
            addCriterion("access_token <>", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenGreaterThan(String value) {
            addCriterion("access_token >", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenGreaterThanOrEqualTo(String value) {
            addCriterion("access_token >=", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLessThan(String value) {
            addCriterion("access_token <", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLessThanOrEqualTo(String value) {
            addCriterion("access_token <=", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLike(String value) {
            addCriterion("access_token like", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotLike(String value) {
            addCriterion("access_token not like", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIn(List<String> values) {
            addCriterion("access_token in", values, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotIn(List<String> values) {
            addCriterion("access_token not in", values, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenBetween(String value1, String value2) {
            addCriterion("access_token between", value1, value2, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotBetween(String value1, String value2) {
            addCriterion("access_token not between", value1, value2, "accessToken");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}